0.13/0.13 % Problem : Vampire---4.8_21512 : TPTP v0.0.0. Released v0.0.0. 0.13/0.14 % Command : vampire --ignore_missing on --mode portfolio/casc [--schedule casc_hol_2020] -p tptp -om szs -t %d %s 0.15/0.36 % Computer : n011.cluster.edu 0.15/0.36 % Model : x86_64 x86_64 0.15/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.15/0.36 % Memory : 8042.1875MB 0.15/0.36 % OS : Linux 3.10.0-693.el7.x86_64 0.15/0.36 % CPULimit : 1440 0.15/0.36 % WCLimit : 180 0.15/0.36 % DateTime : Mon Jul 3 12:46:40 EDT 2023 0.15/0.36 % CPUTime : 0.15/0.36 This is a THF_ problem 0.15/0.36 Running vampire_rel_static_ahmed-new-hol_6848 --cores 8 --input_syntax tptp --proof tptp --output_axiom_names on --mode portfolio --schedule snake_tptp_hol /export/starexec/sandbox/tmp/tmp.Gqf9JbpMRf/Vampire---4.8_21512 -m 12000 -t 180 0.15/0.38 % (21727)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on Vampire---4 for (1800ds/17Mi) 0.15/0.38 % (21728)ott+1010_1:1_cnfonf=lazy_gen:fe=off:kws=inv_arity:plsq=on:plsqc=1:plsqr=32,1:prag=on:sp=const_frequency:i=74:si=on:rtra=on_0 on Vampire---4 for (1800ds/74Mi) 0.15/0.38 % (21723)dis+10_1:128_hud=1:i=96:si=on:rtra=on_0 on Vampire---4 for (1800ds/96Mi) 0.15/0.38 % (21725)lrs+1002_1:128_au=on:c=on:fsr=off:piset=equals:i=34:si=on:rtra=on_0 on Vampire---4 for (1800ds/34Mi) 0.15/0.38 % (21729)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on Vampire---4 for (1800ds/4Mi) 0.15/0.38 % (21730)lrs+1002_1:14_au=on:bd=off:e2e=on:fde=unused:sac=on:sos=on:i=915:si=on:rtra=on_0 on Vampire---4 for (1800ds/915Mi) 0.15/0.38 % (21726)lrs+1002_1:1_au=on:s2a=on:s2agt=32:sgt=8:ss=axioms:i=385:si=on:rtra=on_0 on Vampire---4 for (1800ds/385Mi) 0.15/0.38 % (21724)lrs+10_1:2_cnfonf=off:hud=1:inj=on:i=36:si=on:rtra=on_0 on Vampire---4 for (1800ds/36Mi) 0.15/0.38 % (21729)Instruction limit reached! 0.15/0.38 % (21729)------------------------------ 0.15/0.38 % (21729)Version: Vampire 4.7 (commit 934bd2fae on 2023-06-16 16:02:25 +0100) 0.15/0.38 % (21729)Termination reason: Unknown 0.15/0.38 % (21729)Termination phase: Saturation 0.15/0.38 0.15/0.38 % (21729)Memory used [KB]: 5500 0.15/0.38 % (21729)Time elapsed: 0.005 s 0.15/0.38 % (21729)Instructions burned: 4 (million) 0.15/0.38 % (21729)------------------------------ 0.15/0.38 % (21729)------------------------------ 0.15/0.39 % (21727)Instruction limit reached! 0.15/0.39 % (21727)------------------------------ 0.15/0.39 % (21727)Version: Vampire 4.7 (commit 934bd2fae on 2023-06-16 16:02:25 +0100) 0.15/0.39 % (21727)Termination reason: Unknown 0.15/0.39 % (21727)Termination phase: Saturation 0.15/0.39 0.15/0.39 % (21727)Memory used [KB]: 5628 0.15/0.39 % (21727)Time elapsed: 0.015 s 0.15/0.39 % (21727)Instructions burned: 17 (million) 0.15/0.39 % (21727)------------------------------ 0.15/0.39 % (21727)------------------------------ 0.15/0.40 % (21730)First to succeed. 0.15/0.40 % (21723)Also succeeded, but the first one will report. 0.15/0.40 % (21730)Refutation found. Thanks to Tanya! 0.15/0.40 % SZS status Theorem for Vampire---4 0.15/0.40 % SZS output start Proof for Vampire---4 0.15/0.40 thf(func_def_0, type, cQ: $i > $i > $o). 0.15/0.40 thf(func_def_1, type, cP: $i > $i > $o). 0.15/0.40 thf(f143,plain,( 0.15/0.40 $false), 0.15/0.40 inference(avatar_sat_refutation,[],[f56,f98,f142])). 0.15/0.40 thf(f142,plain,( 0.15/0.40 spl4_2), 0.15/0.40 inference(avatar_contradiction_clause,[],[f141])). 0.15/0.40 thf(f141,plain,( 0.15/0.40 $false | spl4_2), 0.15/0.40 inference(subsumption_resolution,[],[f139,f107])). 0.15/0.40 thf(f107,plain,( 0.15/0.40 ($true = (cQ @ sK0 @ sK3)) | spl4_2), 0.15/0.40 inference(trivial_inequality_removal,[],[f106])). 0.15/0.40 thf(f106,plain,( 0.15/0.40 ($true = (cQ @ sK0 @ sK3)) | ($true != $true) | spl4_2), 0.15/0.40 inference(superposition,[],[f102,f13])). 0.15/0.40 thf(f13,plain,( 0.15/0.40 ( ! [X10 : $i,X11 : $i] : (($true = (cP @ X10 @ X11)) | ($true = (cQ @ X10 @ X11))) )), 0.15/0.40 inference(cnf_transformation,[],[f11])). 0.15/0.40 thf(f11,plain,( 0.15/0.40 ! [X0,X1,X2] : (((cP @ X0 @ X2) != $true) | ($true != (cP @ X2 @ X1)) | ((cP @ X0 @ X1) = $true)) & ! [X3,X4,X5] : (((cQ @ X5 @ X4) = $true) | ($true != (cQ @ X3 @ X4)) | ($true != (cQ @ X5 @ X3))) & ((cQ @ sK1 @ sK0) != $true) & ((cP @ sK2 @ sK3) != $true) & ! [X10,X11] : (($true = (cP @ X10 @ X11)) | ($true = (cQ @ X10 @ X11))) & ! [X12,X13] : (($true = (cQ @ X12 @ X13)) | ($true != (cQ @ X13 @ X12)))), 0.15/0.40 inference(skolemisation,[status(esa),new_symbols(skolem,[sK0,sK1,sK2,sK3])],[f8,f10,f9])). 0.15/0.40 thf(f9,plain,( 0.15/0.40 ? [X6,X7] : ($true != (cQ @ X7 @ X6)) => ((cQ @ sK1 @ sK0) != $true)), 0.15/0.40 introduced(choice_axiom,[])). 0.15/0.40 thf(f10,plain,( 0.15/0.40 ? [X8,X9] : ($true != (cP @ X8 @ X9)) => ((cP @ sK2 @ sK3) != $true)), 0.15/0.40 introduced(choice_axiom,[])). 0.15/0.40 thf(f8,plain,( 0.15/0.40 ! [X0,X1,X2] : (((cP @ X0 @ X2) != $true) | ($true != (cP @ X2 @ X1)) | ((cP @ X0 @ X1) = $true)) & ! [X3,X4,X5] : (((cQ @ X5 @ X4) = $true) | ($true != (cQ @ X3 @ X4)) | ($true != (cQ @ X5 @ X3))) & ? [X6,X7] : ($true != (cQ @ X7 @ X6)) & ? [X8,X9] : ($true != (cP @ X8 @ X9)) & ! [X10,X11] : (($true = (cP @ X10 @ X11)) | ($true = (cQ @ X10 @ X11))) & ! [X12,X13] : (($true = (cQ @ X12 @ X13)) | ($true != (cQ @ X13 @ X12)))), 0.15/0.40 inference(rectify,[],[f7])). 0.15/0.40 thf(f7,plain,( 0.15/0.40 ! [X6,X7,X5] : (((cP @ X6 @ X5) != $true) | ((cP @ X5 @ X7) != $true) | ($true = (cP @ X6 @ X7))) & ! [X2,X4,X3] : (($true = (cQ @ X3 @ X4)) | ((cQ @ X2 @ X4) != $true) | ($true != (cQ @ X3 @ X2))) & ? [X11,X10] : ($true != (cQ @ X10 @ X11)) & ? [X13,X12] : ($true != (cP @ X13 @ X12)) & ! [X9,X8] : (($true = (cP @ X9 @ X8)) | ($true = (cQ @ X9 @ X8))) & ! [X1,X0] : (((cQ @ X1 @ X0) = $true) | ((cQ @ X0 @ X1) != $true))), 0.15/0.40 inference(flattening,[],[f6])). 0.15/0.40 thf(f6,plain,( 0.15/0.40 (? [X11,X10] : ($true != (cQ @ X10 @ X11)) & ? [X13,X12] : ($true != (cP @ X13 @ X12))) & (! [X9,X8] : (($true = (cP @ X9 @ X8)) | ($true = (cQ @ X9 @ X8))) & ! [X5,X7,X6] : (($true = (cP @ X6 @ X7)) | (((cP @ X5 @ X7) != $true) | ((cP @ X6 @ X5) != $true))) & ! [X3,X4,X2] : (($true = (cQ @ X3 @ X4)) | (((cQ @ X2 @ X4) != $true) | ($true != (cQ @ X3 @ X2)))) & ! [X1,X0] : (((cQ @ X1 @ X0) = $true) | ((cQ @ X0 @ X1) != $true)))), 0.15/0.40 inference(ennf_transformation,[],[f5])). 0.15/0.40 thf(f5,plain,( 0.15/0.40 ~((! [X9,X8] : (($true = (cP @ X9 @ X8)) | ($true = (cQ @ X9 @ X8))) & ! [X5,X7,X6] : ((((cP @ X5 @ X7) = $true) & ((cP @ X6 @ X5) = $true)) => ($true = (cP @ X6 @ X7))) & ! [X3,X4,X2] : ((((cQ @ X2 @ X4) = $true) & ($true = (cQ @ X3 @ X2))) => ($true = (cQ @ X3 @ X4))) & ! [X0,X1] : (((cQ @ X0 @ X1) = $true) => ((cQ @ X1 @ X0) = $true))) => (! [X10,X11] : ($true = (cQ @ X10 @ X11)) | ! [X12,X13] : ($true = (cP @ X13 @ X12))))), 0.15/0.40 inference(fool_elimination,[],[f4])). 0.15/0.40 thf(f4,plain,( 0.15/0.40 ~((! [X0,X1] : ((cQ @ X0 @ X1) => (cQ @ X1 @ X0)) & ! [X2,X3,X4] : (((cQ @ X2 @ X4) & (cQ @ X3 @ X2)) => (cQ @ X3 @ X4)) & ! [X5,X6,X7] : (((cP @ X5 @ X7) & (cP @ X6 @ X5)) => (cP @ X6 @ X7)) & ! [X8,X9] : ((cP @ X9 @ X8) | (cQ @ X9 @ X8))) => (! [X10,X11] : (cQ @ X10 @ X11) | ! [X12,X13] : (cP @ X13 @ X12)))), 0.15/0.40 inference(rectify,[],[f2])). 0.15/0.40 thf(f2,negated_conjecture,( 0.15/0.40 ~((! [X0,X1] : ((cQ @ X0 @ X1) => (cQ @ X1 @ X0)) & ! [X1,X0,X2] : (((cQ @ X1 @ X2) & (cQ @ X0 @ X1)) => (cQ @ X0 @ X2)) & ! [X1,X0,X2] : (((cP @ X1 @ X2) & (cP @ X0 @ X1)) => (cP @ X0 @ X2)) & ! [X1,X0] : ((cP @ X0 @ X1) | (cQ @ X0 @ X1))) => (! [X0,X1] : (cQ @ X0 @ X1) | ! [X1,X0] : (cP @ X0 @ X1)))), 0.15/0.40 inference(negated_conjecture,[],[f1])). 0.15/0.40 thf(f1,conjecture,( 0.15/0.40 (! [X0,X1] : ((cQ @ X0 @ X1) => (cQ @ X1 @ X0)) & ! [X1,X0,X2] : (((cQ @ X1 @ X2) & (cQ @ X0 @ X1)) => (cQ @ X0 @ X2)) & ! [X1,X0,X2] : (((cP @ X1 @ X2) & (cP @ X0 @ X1)) => (cP @ X0 @ X2)) & ! [X1,X0] : ((cP @ X0 @ X1) | (cQ @ X0 @ X1))) => (! [X0,X1] : (cQ @ X0 @ X1) | ! [X1,X0] : (cP @ X0 @ X1))), 0.15/0.40 file('/export/starexec/sandbox/tmp/tmp.Gqf9JbpMRf/Vampire---4.8_21512',cCADE13_pme)). 0.15/0.40 thf(f102,plain,( 0.15/0.40 ($true != (cP @ sK0 @ sK3)) | spl4_2), 0.15/0.40 inference(trivial_inequality_removal,[],[f99])). 0.15/0.40 thf(f99,plain,( 0.15/0.40 ($true != $true) | ($true != (cP @ sK0 @ sK3)) | spl4_2), 0.15/0.40 inference(superposition,[],[f55,f44])). 0.15/0.40 thf(f44,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true = (cQ @ sK2 @ X0)) | ($true != (cP @ X0 @ sK3))) )), 0.15/0.40 inference(trivial_inequality_removal,[],[f43])). 0.15/0.40 thf(f43,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != $true) | ($true != (cP @ X0 @ sK3)) | ($true = (cQ @ sK2 @ X0))) )), 0.15/0.40 inference(superposition,[],[f41,f13])). 0.15/0.40 thf(f41,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cP @ sK2 @ X0)) | ($true != (cP @ X0 @ sK3))) )), 0.15/0.40 inference(trivial_inequality_removal,[],[f40])). 0.15/0.40 thf(f40,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != $true) | ($true != (cP @ X0 @ sK3)) | ($true != (cP @ sK2 @ X0))) )), 0.15/0.40 inference(superposition,[],[f14,f17])). 0.15/0.40 thf(f17,plain,( 0.15/0.40 ( ! [X2 : $i,X0 : $i,X1 : $i] : (((cP @ X0 @ X1) = $true) | ((cP @ X0 @ X2) != $true) | ($true != (cP @ X2 @ X1))) )), 0.15/0.40 inference(cnf_transformation,[],[f11])). 0.15/0.40 thf(f14,plain,( 0.15/0.40 ((cP @ sK2 @ sK3) != $true)), 0.15/0.40 inference(cnf_transformation,[],[f11])). 0.15/0.40 thf(f55,plain,( 0.15/0.40 ($true != (cQ @ sK2 @ sK0)) | spl4_2), 0.15/0.40 inference(avatar_component_clause,[],[f53])). 0.15/0.40 thf(f53,plain,( 0.15/0.40 spl4_2 <=> ($true = (cQ @ sK2 @ sK0))), 0.15/0.40 introduced(avatar_definition,[new_symbols(naming,[spl4_2])])). 0.15/0.40 thf(f139,plain,( 0.15/0.40 ($true != (cQ @ sK0 @ sK3)) | spl4_2), 0.15/0.40 inference(trivial_inequality_removal,[],[f138])). 0.15/0.40 thf(f138,plain,( 0.15/0.40 ($true != (cQ @ sK0 @ sK3)) | ($true != $true) | spl4_2), 0.15/0.40 inference(superposition,[],[f127,f12])). 0.15/0.40 thf(f12,plain,( 0.15/0.40 ( ! [X12 : $i,X13 : $i] : (($true = (cQ @ X12 @ X13)) | ($true != (cQ @ X13 @ X12))) )), 0.15/0.40 inference(cnf_transformation,[],[f11])). 0.15/0.40 thf(f127,plain,( 0.15/0.40 ($true != (cQ @ sK3 @ sK0)) | spl4_2), 0.15/0.40 inference(trivial_inequality_removal,[],[f123])). 0.15/0.40 thf(f123,plain,( 0.15/0.40 ($true != $true) | ($true != (cQ @ sK3 @ sK0)) | spl4_2), 0.15/0.40 inference(superposition,[],[f104,f23])). 0.15/0.40 thf(f23,plain,( 0.15/0.40 ($true = (cQ @ sK2 @ sK3))), 0.15/0.40 inference(trivial_inequality_removal,[],[f22])). 0.15/0.40 thf(f22,plain,( 0.15/0.40 ($true != $true) | ($true = (cQ @ sK2 @ sK3))), 0.15/0.40 inference(superposition,[],[f14,f13])). 0.15/0.40 thf(f104,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cQ @ sK2 @ X0)) | ($true != (cQ @ X0 @ sK0))) ) | spl4_2), 0.15/0.40 inference(trivial_inequality_removal,[],[f100])). 0.15/0.40 thf(f100,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cQ @ sK2 @ X0)) | ($true != $true) | ($true != (cQ @ X0 @ sK0))) ) | spl4_2), 0.15/0.40 inference(superposition,[],[f55,f16])). 0.15/0.40 thf(f16,plain,( 0.15/0.40 ( ! [X3 : $i,X4 : $i,X5 : $i] : (((cQ @ X5 @ X4) = $true) | ($true != (cQ @ X3 @ X4)) | ($true != (cQ @ X5 @ X3))) )), 0.15/0.40 inference(cnf_transformation,[],[f11])). 0.15/0.40 thf(f98,plain,( 0.15/0.40 spl4_1), 0.15/0.40 inference(avatar_contradiction_clause,[],[f97])). 0.15/0.40 thf(f97,plain,( 0.15/0.40 $false | spl4_1), 0.15/0.40 inference(subsumption_resolution,[],[f96,f71])). 0.15/0.40 thf(f71,plain,( 0.15/0.40 ($true != (cQ @ sK0 @ sK3)) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f70])). 0.15/0.40 thf(f70,plain,( 0.15/0.40 ($true != (cQ @ sK0 @ sK3)) | ($true != $true) | spl4_1), 0.15/0.40 inference(superposition,[],[f62,f12])). 0.15/0.40 thf(f62,plain,( 0.15/0.40 ($true != (cQ @ sK3 @ sK0)) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f61])). 0.15/0.40 thf(f61,plain,( 0.15/0.40 ($true != (cQ @ sK3 @ sK0)) | ($true != $true) | spl4_1), 0.15/0.40 inference(superposition,[],[f26,f60])). 0.15/0.40 thf(f60,plain,( 0.15/0.40 ($true = (cQ @ sK1 @ sK3)) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f58])). 0.15/0.40 thf(f58,plain,( 0.15/0.40 ($true = (cQ @ sK1 @ sK3)) | ($true != $true) | spl4_1), 0.15/0.40 inference(superposition,[],[f51,f13])). 0.15/0.40 thf(f51,plain,( 0.15/0.40 ($true != (cP @ sK1 @ sK3)) | spl4_1), 0.15/0.40 inference(avatar_component_clause,[],[f49])). 0.15/0.40 thf(f49,plain,( 0.15/0.40 spl4_1 <=> ($true = (cP @ sK1 @ sK3))), 0.15/0.40 introduced(avatar_definition,[new_symbols(naming,[spl4_1])])). 0.15/0.40 thf(f26,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cQ @ sK1 @ X0)) | ($true != (cQ @ X0 @ sK0))) )), 0.15/0.40 inference(trivial_inequality_removal,[],[f25])). 0.15/0.40 thf(f25,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cQ @ sK1 @ X0)) | ($true != (cQ @ X0 @ sK0)) | ($true != $true)) )), 0.15/0.40 inference(superposition,[],[f15,f16])). 0.15/0.40 thf(f15,plain,( 0.15/0.40 ((cQ @ sK1 @ sK0) != $true)), 0.15/0.40 inference(cnf_transformation,[],[f11])). 0.15/0.40 thf(f96,plain,( 0.15/0.40 ($true = (cQ @ sK0 @ sK3)) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f94])). 0.15/0.40 thf(f94,plain,( 0.15/0.40 ($true = (cQ @ sK0 @ sK3)) | ($true != $true) | spl4_1), 0.15/0.40 inference(superposition,[],[f91,f13])). 0.15/0.40 thf(f91,plain,( 0.15/0.40 ($true != (cP @ sK0 @ sK3)) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f85])). 0.15/0.40 thf(f85,plain,( 0.15/0.40 ($true != (cP @ sK0 @ sK3)) | ($true != $true) | spl4_1), 0.15/0.40 inference(superposition,[],[f15,f79])). 0.15/0.40 thf(f79,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true = (cQ @ sK1 @ X0)) | ($true != (cP @ X0 @ sK3))) ) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f78])). 0.15/0.40 thf(f78,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cP @ X0 @ sK3)) | ($true != $true) | ($true = (cQ @ sK1 @ X0))) ) | spl4_1), 0.15/0.40 inference(superposition,[],[f59,f13])). 0.15/0.40 thf(f59,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cP @ sK1 @ X0)) | ($true != (cP @ X0 @ sK3))) ) | spl4_1), 0.15/0.40 inference(trivial_inequality_removal,[],[f57])). 0.15/0.40 thf(f57,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cP @ X0 @ sK3)) | ($true != (cP @ sK1 @ X0)) | ($true != $true)) ) | spl4_1), 0.15/0.40 inference(superposition,[],[f51,f17])). 0.15/0.40 thf(f56,plain,( 0.15/0.40 ~spl4_1 | ~spl4_2), 0.15/0.40 inference(avatar_split_clause,[],[f47,f53,f49])). 0.15/0.40 thf(f47,plain,( 0.15/0.40 ($true != (cQ @ sK2 @ sK0)) | ($true != (cP @ sK1 @ sK3))), 0.15/0.40 inference(trivial_inequality_removal,[],[f46])). 0.15/0.40 thf(f46,plain,( 0.15/0.40 ($true != (cP @ sK1 @ sK3)) | ($true != (cQ @ sK2 @ sK0)) | ($true != $true)), 0.15/0.40 inference(superposition,[],[f30,f44])). 0.15/0.40 thf(f30,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cQ @ X0 @ sK1)) | ($true != (cQ @ X0 @ sK0))) )), 0.15/0.40 inference(trivial_inequality_removal,[],[f29])). 0.15/0.40 thf(f29,plain,( 0.15/0.40 ( ! [X0 : $i] : (($true != (cQ @ X0 @ sK1)) | ($true != $true) | ($true != (cQ @ X0 @ sK0))) )), 0.15/0.40 inference(superposition,[],[f26,f12])). 0.15/0.40 % SZS output end Proof for Vampire---4 0.15/0.40 % (21730)------------------------------ 0.15/0.40 % (21730)Version: Vampire 4.7 (commit 934bd2fae on 2023-06-16 16:02:25 +0100) 0.15/0.40 % (21730)Termination reason: Refutation 0.15/0.40 0.15/0.40 % (21730)Memory used [KB]: 5628 0.15/0.40 % (21730)Time elapsed: 0.018 s 0.15/0.40 % (21730)Instructions burned: 20 (million) 0.15/0.40 % (21730)------------------------------ 0.15/0.40 % (21730)------------------------------ 0.15/0.40 % (21721)Success in time 0.031 s 0.15/0.40 % Vampire---4.8 exiting 0.15/0.40 EOF